package pers.mine.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import pers.mine.vo.BaseExample;

public class GoodsItemExample extends BaseExample {
	protected String orderByClause;

	protected boolean distinct;

	protected boolean iFlag;

	protected List<Criteria> oredCriteria;

	public GoodsItemExample() {
		oredCriteria = new ArrayList<Criteria>();
	}

	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}

	public String getOrderByClause() {
		return orderByClause;
	}

	public void setDistinct(boolean distinct) {
		this.distinct = distinct;
	}

	public boolean isDistinct() {
		return distinct;
	}

	public List<Criteria> getOredCriteria() {
		return oredCriteria;
	}

	public void or(Criteria criteria) {
		oredCriteria.add(criteria);
	}

	public Criteria or() {
		Criteria criteria = createCriteriaInternal();
		oredCriteria.add(criteria);
		return criteria;
	}

	public Criteria createCriteria() {
		Criteria criteria = createCriteriaInternal();
		if (oredCriteria.size() == 0) {
			oredCriteria.add(criteria);
		}
		return criteria;
	}

	protected Criteria createCriteriaInternal() {
		Criteria criteria = new Criteria();
		return criteria;
	}

	public void clear() {
		oredCriteria.clear();
		orderByClause = null;
		distinct = false;
	}

	protected abstract static class GeneratedCriteria {
		protected List<Criterion> criteria;

		protected GeneratedCriteria() {
			super();
			criteria = new ArrayList<Criterion>();
		}

		public boolean isValid() {
			return criteria.size() > 0;
		}

		public List<Criterion> getAllCriteria() {
			return criteria;
		}

		public List<Criterion> getCriteria() {
			return criteria;
		}

		protected void addCriterion(String condition) {
			if (condition == null) {
				throw new RuntimeException("Value for condition cannot be null");
			}
			criteria.add(new Criterion(condition));
		}

		protected void addCriterion(String condition, Object value,
				String property) {
			if (value == null) {
				throw new RuntimeException("Value for " + property
						+ " cannot be null");
			}
			criteria.add(new Criterion(condition, value));
		}

		protected void addCriterion(String condition, Object value1,
				Object value2, String property) {
			if (value1 == null || value2 == null) {
				throw new RuntimeException("Between values for " + property
						+ " cannot be null");
			}
			criteria.add(new Criterion(condition, value1, value2));
		}

		protected void addCriterionForJDBCDate(String condition, Date value,
				String property) {
			if (value == null) {
				throw new RuntimeException("Value for " + property
						+ " cannot be null");
			}
			addCriterion(condition, new java.sql.Date(value.getTime()),
					property);
		}

		protected void addCriterionForJDBCDate(String condition,
				List<Date> values, String property) {
			if (values == null || values.size() == 0) {
				throw new RuntimeException("Value list for " + property
						+ " cannot be null or empty");
			}
			List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
			Iterator<Date> iter = values.iterator();
			while (iter.hasNext()) {
				dateList.add(new java.sql.Date(iter.next().getTime()));
			}
			addCriterion(condition, dateList, property);
		}

		protected void addCriterionForJDBCDate(String condition, Date value1,
				Date value2, String property) {
			if (value1 == null || value2 == null) {
				throw new RuntimeException("Between values for " + property
						+ " cannot be null");
			}
			addCriterion(condition, new java.sql.Date(value1.getTime()),
					new java.sql.Date(value2.getTime()), property);
		}

		public Criteria andIdIsNull() {
			addCriterion("g_id is null");
			return (Criteria) this;
		}

		public Criteria andIdIsNotNull() {
			addCriterion("g_id is not null");
			return (Criteria) this;
		}

		public Criteria andIdEqualTo(Integer value) {
			addCriterion("g_id =", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdNotEqualTo(Integer value) {
			addCriterion("g_id <>", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdGreaterThan(Integer value) {
			addCriterion("g_id >", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdGreaterThanOrEqualTo(Integer value) {
			addCriterion("g_id >=", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdLessThan(Integer value) {
			addCriterion("g_id <", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdLessThanOrEqualTo(Integer value) {
			addCriterion("g_id <=", value, "id");
			return (Criteria) this;
		}

		public Criteria andIdIn(List<Integer> values) {
			addCriterion("g_id in", values, "id");
			return (Criteria) this;
		}

		public Criteria andIdNotIn(List<Integer> values) {
			addCriterion("g_id not in", values, "id");
			return (Criteria) this;
		}

		public Criteria andIdBetween(Integer value1, Integer value2) {
			addCriterion("g_id between", value1, value2, "id");
			return (Criteria) this;
		}

		public Criteria andIdNotBetween(Integer value1, Integer value2) {
			addCriterion("g_id not between", value1, value2, "id");
			return (Criteria) this;
		}

		public Criteria andNameIsNull() {
			addCriterion("g_name is null");
			return (Criteria) this;
		}

		public Criteria andNameIsNotNull() {
			addCriterion("g_name is not null");
			return (Criteria) this;
		}

		public Criteria andNameEqualTo(String value) {
			addCriterion("g_name =", value, "name");
			return (Criteria) this;
		}

		public Criteria andNameNotEqualTo(String value) {
			addCriterion("g_name <>", value, "name");
			return (Criteria) this;
		}

		public Criteria andNameGreaterThan(String value) {
			addCriterion("g_name >", value, "name");
			return (Criteria) this;
		}

		public Criteria andNameGreaterThanOrEqualTo(String value) {
			addCriterion("g_name >=", value, "name");
			return (Criteria) this;
		}

		public Criteria andNameLessThan(String value) {
			addCriterion("g_name <", value, "name");
			return (Criteria) this;
		}

		public Criteria andNameLessThanOrEqualTo(String value) {
			addCriterion("g_name <=", value, "name");
			return (Criteria) this;
		}

		public Criteria andNameLike(String value) {
			addCriterion("g_name like", value, "name");
			return (Criteria) this;
		}

		public Criteria andNameNotLike(String value) {
			addCriterion("g_name not like", value, "name");
			return (Criteria) this;
		}

		public Criteria andNameIn(List<String> values) {
			addCriterion("g_name in", values, "name");
			return (Criteria) this;
		}

		public Criteria andNameNotIn(List<String> values) {
			addCriterion("g_name not in", values, "name");
			return (Criteria) this;
		}

		public Criteria andNameBetween(String value1, String value2) {
			addCriterion("g_name between", value1, value2, "name");
			return (Criteria) this;
		}

		public Criteria andNameNotBetween(String value1, String value2) {
			addCriterion("g_name not between", value1, value2, "name");
			return (Criteria) this;
		}

		public Criteria andImgIsNull() {
			addCriterion("g_img is null");
			return (Criteria) this;
		}

		public Criteria andImgIsNotNull() {
			addCriterion("g_img is not null");
			return (Criteria) this;
		}

		public Criteria andImgEqualTo(String value) {
			addCriterion("g_img =", value, "img");
			return (Criteria) this;
		}

		public Criteria andImgNotEqualTo(String value) {
			addCriterion("g_img <>", value, "img");
			return (Criteria) this;
		}

		public Criteria andImgGreaterThan(String value) {
			addCriterion("g_img >", value, "img");
			return (Criteria) this;
		}

		public Criteria andImgGreaterThanOrEqualTo(String value) {
			addCriterion("g_img >=", value, "img");
			return (Criteria) this;
		}

		public Criteria andImgLessThan(String value) {
			addCriterion("g_img <", value, "img");
			return (Criteria) this;
		}

		public Criteria andImgLessThanOrEqualTo(String value) {
			addCriterion("g_img <=", value, "img");
			return (Criteria) this;
		}

		public Criteria andImgLike(String value) {
			addCriterion("g_img like", value, "img");
			return (Criteria) this;
		}

		public Criteria andImgNotLike(String value) {
			addCriterion("g_img not like", value, "img");
			return (Criteria) this;
		}

		public Criteria andImgIn(List<String> values) {
			addCriterion("g_img in", values, "img");
			return (Criteria) this;
		}

		public Criteria andImgNotIn(List<String> values) {
			addCriterion("g_img not in", values, "img");
			return (Criteria) this;
		}

		public Criteria andImgBetween(String value1, String value2) {
			addCriterion("g_img between", value1, value2, "img");
			return (Criteria) this;
		}

		public Criteria andImgNotBetween(String value1, String value2) {
			addCriterion("g_img not between", value1, value2, "img");
			return (Criteria) this;
		}

		public Criteria andPriceIsNull() {
			addCriterion("g_price is null");
			return (Criteria) this;
		}

		public Criteria andPriceIsNotNull() {
			addCriterion("g_price is not null");
			return (Criteria) this;
		}

		public Criteria andPriceEqualTo(Double value) {
			addCriterion("g_price =", value, "price");
			return (Criteria) this;
		}

		public Criteria andPriceNotEqualTo(Double value) {
			addCriterion("g_price <>", value, "price");
			return (Criteria) this;
		}

		public Criteria andPriceGreaterThan(Double value) {
			addCriterion("g_price >", value, "price");
			return (Criteria) this;
		}

		public Criteria andPriceGreaterThanOrEqualTo(Double value) {
			addCriterion("g_price >=", value, "price");
			return (Criteria) this;
		}

		public Criteria andPriceLessThan(Double value) {
			addCriterion("g_price <", value, "price");
			return (Criteria) this;
		}

		public Criteria andPriceLessThanOrEqualTo(Double value) {
			addCriterion("g_price <=", value, "price");
			return (Criteria) this;
		}

		public Criteria andPriceIn(List<Double> values) {
			addCriterion("g_price in", values, "price");
			return (Criteria) this;
		}

		public Criteria andPriceNotIn(List<Double> values) {
			addCriterion("g_price not in", values, "price");
			return (Criteria) this;
		}

		public Criteria andPriceBetween(Double value1, Double value2) {
			addCriterion("g_price between", value1, value2, "price");
			return (Criteria) this;
		}

		public Criteria andPriceNotBetween(Double value1, Double value2) {
			addCriterion("g_price not between", value1, value2, "price");
			return (Criteria) this;
		}

		public Criteria andShelveDateIsNull() {
			addCriterion("g_shelveDate is null");
			return (Criteria) this;
		}

		public Criteria andShelveDateIsNotNull() {
			addCriterion("g_shelveDate is not null");
			return (Criteria) this;
		}

		public Criteria andShelveDateEqualTo(Date value) {
			addCriterionForJDBCDate("g_shelveDate =", value, "shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateNotEqualTo(Date value) {
			addCriterionForJDBCDate("g_shelveDate <>", value, "shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateGreaterThan(Date value) {
			addCriterionForJDBCDate("g_shelveDate >", value, "shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateGreaterThanOrEqualTo(Date value) {
			addCriterionForJDBCDate("g_shelveDate >=", value, "shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateLessThan(Date value) {
			addCriterionForJDBCDate("g_shelveDate <", value, "shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateLessThanOrEqualTo(Date value) {
			addCriterionForJDBCDate("g_shelveDate <=", value, "shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateIn(List<Date> values) {
			addCriterionForJDBCDate("g_shelveDate in", values, "shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateNotIn(List<Date> values) {
			addCriterionForJDBCDate("g_shelveDate not in", values, "shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateBetween(Date value1, Date value2) {
			addCriterionForJDBCDate("g_shelveDate between", value1, value2,
					"shelveDate");
			return (Criteria) this;
		}

		public Criteria andShelveDateNotBetween(Date value1, Date value2) {
			addCriterionForJDBCDate("g_shelveDate not between", value1, value2,
					"shelveDate");
			return (Criteria) this;
		}

		public Criteria andTypeIsNull() {
			addCriterion("g_type is null");
			return (Criteria) this;
		}

		public Criteria andTypeIsNotNull() {
			addCriterion("g_type is not null");
			return (Criteria) this;
		}

		public Criteria andTypeEqualTo(String value) {
			addCriterion("g_type =", value, "type");
			return (Criteria) this;
		}

		public Criteria andTypeNotEqualTo(String value) {
			addCriterion("g_type <>", value, "type");
			return (Criteria) this;
		}

		public Criteria andTypeGreaterThan(String value) {
			addCriterion("g_type >", value, "type");
			return (Criteria) this;
		}

		public Criteria andTypeGreaterThanOrEqualTo(String value) {
			addCriterion("g_type >=", value, "type");
			return (Criteria) this;
		}

		public Criteria andTypeLessThan(String value) {
			addCriterion("g_type <", value, "type");
			return (Criteria) this;
		}

		public Criteria andTypeLessThanOrEqualTo(String value) {
			addCriterion("g_type <=", value, "type");
			return (Criteria) this;
		}

		public Criteria andTypeLike(String value) {
			addCriterion("g_type like", value, "type");
			return (Criteria) this;
		}

		public Criteria andTypeNotLike(String value) {
			addCriterion("g_type not like", value, "type");
			return (Criteria) this;
		}

		public Criteria andTypeIn(List<String> values) {
			addCriterion("g_type in", values, "type");
			return (Criteria) this;
		}

		public Criteria andTypeNotIn(List<String> values) {
			addCriterion("g_type not in", values, "type");
			return (Criteria) this;
		}

		public Criteria andTypeBetween(String value1, String value2) {
			addCriterion("g_type between", value1, value2, "type");
			return (Criteria) this;
		}

		public Criteria andTypeNotBetween(String value1, String value2) {
			addCriterion("g_type not between", value1, value2, "type");
			return (Criteria) this;
		}

		public Criteria andOriginIsNull() {
			addCriterion("g_origin is null");
			return (Criteria) this;
		}

		public Criteria andOriginIsNotNull() {
			addCriterion("g_origin is not null");
			return (Criteria) this;
		}

		public Criteria andOriginEqualTo(String value) {
			addCriterion("g_origin =", value, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginNotEqualTo(String value) {
			addCriterion("g_origin <>", value, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginGreaterThan(String value) {
			addCriterion("g_origin >", value, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginGreaterThanOrEqualTo(String value) {
			addCriterion("g_origin >=", value, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginLessThan(String value) {
			addCriterion("g_origin <", value, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginLessThanOrEqualTo(String value) {
			addCriterion("g_origin <=", value, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginLike(String value) {
			addCriterion("g_origin like", value, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginNotLike(String value) {
			addCriterion("g_origin not like", value, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginIn(List<String> values) {
			addCriterion("g_origin in", values, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginNotIn(List<String> values) {
			addCriterion("g_origin not in", values, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginBetween(String value1, String value2) {
			addCriterion("g_origin between", value1, value2, "origin");
			return (Criteria) this;
		}

		public Criteria andOriginNotBetween(String value1, String value2) {
			addCriterion("g_origin not between", value1, value2, "origin");
			return (Criteria) this;
		}

		public Criteria andBrandIsNull() {
			addCriterion("g_brand is null");
			return (Criteria) this;
		}

		public Criteria andBrandIsNotNull() {
			addCriterion("g_brand is not null");
			return (Criteria) this;
		}

		public Criteria andBrandEqualTo(String value) {
			addCriterion("g_brand =", value, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandNotEqualTo(String value) {
			addCriterion("g_brand <>", value, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandGreaterThan(String value) {
			addCriterion("g_brand >", value, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandGreaterThanOrEqualTo(String value) {
			addCriterion("g_brand >=", value, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandLessThan(String value) {
			addCriterion("g_brand <", value, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandLessThanOrEqualTo(String value) {
			addCriterion("g_brand <=", value, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandLike(String value) {
			addCriterion("g_brand like", value, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandNotLike(String value) {
			addCriterion("g_brand not like", value, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandIn(List<String> values) {
			addCriterion("g_brand in", values, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandNotIn(List<String> values) {
			addCriterion("g_brand not in", values, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandBetween(String value1, String value2) {
			addCriterion("g_brand between", value1, value2, "brand");
			return (Criteria) this;
		}

		public Criteria andBrandNotBetween(String value1, String value2) {
			addCriterion("g_brand not between", value1, value2, "brand");
			return (Criteria) this;
		}

		public Criteria andMsgIsNull() {
			addCriterion("g_msg is null");
			return (Criteria) this;
		}

		public Criteria andMsgIsNotNull() {
			addCriterion("g_msg is not null");
			return (Criteria) this;
		}

		public Criteria andMsgEqualTo(String value) {
			addCriterion("g_msg =", value, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgNotEqualTo(String value) {
			addCriterion("g_msg <>", value, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgGreaterThan(String value) {
			addCriterion("g_msg >", value, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgGreaterThanOrEqualTo(String value) {
			addCriterion("g_msg >=", value, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgLessThan(String value) {
			addCriterion("g_msg <", value, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgLessThanOrEqualTo(String value) {
			addCriterion("g_msg <=", value, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgLike(String value) {
			addCriterion("g_msg like", value, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgNotLike(String value) {
			addCriterion("g_msg not like", value, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgIn(List<String> values) {
			addCriterion("g_msg in", values, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgNotIn(List<String> values) {
			addCriterion("g_msg not in", values, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgBetween(String value1, String value2) {
			addCriterion("g_msg between", value1, value2, "msg");
			return (Criteria) this;
		}

		public Criteria andMsgNotBetween(String value1, String value2) {
			addCriterion("g_msg not between", value1, value2, "msg");
			return (Criteria) this;
		}

		public Criteria andDescIsNull() {
			addCriterion("g_desc is null");
			return (Criteria) this;
		}

		public Criteria andDescIsNotNull() {
			addCriterion("g_desc is not null");
			return (Criteria) this;
		}

		public Criteria andDescEqualTo(String value) {
			addCriterion("g_desc =", value, "desc");
			return (Criteria) this;
		}

		public Criteria andDescNotEqualTo(String value) {
			addCriterion("g_desc <>", value, "desc");
			return (Criteria) this;
		}

		public Criteria andDescGreaterThan(String value) {
			addCriterion("g_desc >", value, "desc");
			return (Criteria) this;
		}

		public Criteria andDescGreaterThanOrEqualTo(String value) {
			addCriterion("g_desc >=", value, "desc");
			return (Criteria) this;
		}

		public Criteria andDescLessThan(String value) {
			addCriterion("g_desc <", value, "desc");
			return (Criteria) this;
		}

		public Criteria andDescLessThanOrEqualTo(String value) {
			addCriterion("g_desc <=", value, "desc");
			return (Criteria) this;
		}

		public Criteria andDescLike(String value) {
			addCriterion("g_desc like", value, "desc");
			return (Criteria) this;
		}

		public Criteria andDescNotLike(String value) {
			addCriterion("g_desc not like", value, "desc");
			return (Criteria) this;
		}

		public Criteria andDescIn(List<String> values) {
			addCriterion("g_desc in", values, "desc");
			return (Criteria) this;
		}

		public Criteria andDescNotIn(List<String> values) {
			addCriterion("g_desc not in", values, "desc");
			return (Criteria) this;
		}

		public Criteria andDescBetween(String value1, String value2) {
			addCriterion("g_desc between", value1, value2, "desc");
			return (Criteria) this;
		}

		public Criteria andDescNotBetween(String value1, String value2) {
			addCriterion("g_desc not between", value1, value2, "desc");
			return (Criteria) this;
		}

		public Criteria andNumIsNull() {
			addCriterion("g_num is null");
			return (Criteria) this;
		}

		public Criteria andNumIsNotNull() {
			addCriterion("g_num is not null");
			return (Criteria) this;
		}

		public Criteria andNumEqualTo(Integer value) {
			addCriterion("g_num =", value, "num");
			return (Criteria) this;
		}

		public Criteria andNumNotEqualTo(Integer value) {
			addCriterion("g_num <>", value, "num");
			return (Criteria) this;
		}

		public Criteria andNumGreaterThan(Integer value) {
			addCriterion("g_num >", value, "num");
			return (Criteria) this;
		}

		public Criteria andNumGreaterThanOrEqualTo(Integer value) {
			addCriterion("g_num >=", value, "num");
			return (Criteria) this;
		}

		public Criteria andNumLessThan(Integer value) {
			addCriterion("g_num <", value, "num");
			return (Criteria) this;
		}

		public Criteria andNumLessThanOrEqualTo(Integer value) {
			addCriterion("g_num <=", value, "num");
			return (Criteria) this;
		}

		public Criteria andNumIn(List<Integer> values) {
			addCriterion("g_num in", values, "num");
			return (Criteria) this;
		}

		public Criteria andNumNotIn(List<Integer> values) {
			addCriterion("g_num not in", values, "num");
			return (Criteria) this;
		}

		public Criteria andNumBetween(Integer value1, Integer value2) {
			addCriterion("g_num between", value1, value2, "num");
			return (Criteria) this;
		}

		public Criteria andNumNotBetween(Integer value1, Integer value2) {
			addCriterion("g_num not between", value1, value2, "num");
			return (Criteria) this;
		}

		public Criteria andStateIsNull() {
			addCriterion("g_state is null");
			return (Criteria) this;
		}

		public Criteria andStateIsNotNull() {
			addCriterion("g_state is not null");
			return (Criteria) this;
		}

		public Criteria andStateEqualTo(Integer value) {
			addCriterion("g_state =", value, "state");
			return (Criteria) this;
		}

		public Criteria andStateNotEqualTo(Integer value) {
			addCriterion("g_state <>", value, "state");
			return (Criteria) this;
		}

		public Criteria andStateGreaterThan(Integer value) {
			addCriterion("g_state >", value, "state");
			return (Criteria) this;
		}

		public Criteria andStateGreaterThanOrEqualTo(Integer value) {
			addCriterion("g_state >=", value, "state");
			return (Criteria) this;
		}

		public Criteria andStateLessThan(Integer value) {
			addCriterion("g_state <", value, "state");
			return (Criteria) this;
		}

		public Criteria andStateLessThanOrEqualTo(Integer value) {
			addCriterion("g_state <=", value, "state");
			return (Criteria) this;
		}

		public Criteria andStateIn(List<Integer> values) {
			addCriterion("g_state in", values, "state");
			return (Criteria) this;
		}

		public Criteria andStateNotIn(List<Integer> values) {
			addCriterion("g_state not in", values, "state");
			return (Criteria) this;
		}

		public Criteria andStateBetween(Integer value1, Integer value2) {
			addCriterion("g_state between", value1, value2, "state");
			return (Criteria) this;
		}

		public Criteria andStateNotBetween(Integer value1, Integer value2) {
			addCriterion("g_state not between", value1, value2, "state");
			return (Criteria) this;
		}
	}

	public static class Criteria extends GeneratedCriteria {

		protected Criteria() {
			super();
		}
	}

	public static class Criterion {
		private String condition;

		private Object value;

		private Object secondValue;

		private boolean noValue;

		private boolean singleValue;

		private boolean betweenValue;

		private boolean listValue;

		private String typeHandler;

		public String getCondition() {
			return condition;
		}

		public Object getValue() {
			return value;
		}

		public Object getSecondValue() {
			return secondValue;
		}

		public boolean isNoValue() {
			return noValue;
		}

		public boolean isSingleValue() {
			return singleValue;
		}

		public boolean isBetweenValue() {
			return betweenValue;
		}

		public boolean isListValue() {
			return listValue;
		}

		public String getTypeHandler() {
			return typeHandler;
		}

		protected Criterion(String condition) {
			super();
			this.condition = condition;
			this.typeHandler = null;
			this.noValue = true;
		}

		protected Criterion(String condition, Object value, String typeHandler) {
			super();
			this.condition = condition;
			this.value = value;
			this.typeHandler = typeHandler;
			if (value instanceof List<?>) {
				this.listValue = true;
			} else {
				this.singleValue = true;
			}
		}

		protected Criterion(String condition, Object value) {
			this(condition, value, null);
		}

		protected Criterion(String condition, Object value, Object secondValue,
				String typeHandler) {
			super();
			this.condition = condition;
			this.value = value;
			this.secondValue = secondValue;
			this.typeHandler = typeHandler;
			this.betweenValue = true;
		}

		protected Criterion(String condition, Object value, Object secondValue) {
			this(condition, value, secondValue, null);
		}
	}

	public boolean isiFlag() {
		return iFlag;
	}

	public void setiFlag(boolean iFlag) {
		this.iFlag = iFlag;
	}
}